"""时间模型（用于教师排班）"""
# 字段类型引入 column列
from sqlalchemy import Column, Integer, text, Text, DateTime, func
from sqlalchemy.orm import relationship

from soulapi.db import Base, engine


# 基于BaseNoel定义请求体的结构（json对象）
class TeaTime(Base):
    __tablename__ = 'teatime'  # 数据表表名，__tablename__：设置映射到的表名不设置，默认映射到类名post下
    __table_args__ = {'comment': '时间表<用于教师排班>'}
    tt_id = Column(Integer, primary_key=True, index=True, autoincrement=True, server_default=text("0"), comment='时间ID')  # index索引设置,autoincremen自增长
    tt_express = Column(Integer, unique=True, nullable=False, comment="用数字表示某个时间段，1-9")
    tt_intro = Column(Text, nullable=False, comment="对表示字段的详细描述")
    # 关系
    teaschedule = relationship('TeaSchedule', back_populates='teatime')
    # 时间获取
    created_at = Column(DateTime, server_default=func.now(), comment='创建时间')
    updated_at = Column(DateTime, server_default=func.now(), onupdate=func.now(), comment='更新时间')

# 在数据库中生成表
Base.metadata.create_all(engine)